Конструкция с дательным падежом является книжным вариантом: по двадцати одному рублю, по двадцати девяти рублей. Если в составном числительном имеются слова два, три, четыре, то все счетное сочетание ставится в форме родительного падежа: по двадцать два рубля.